<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Parte_lst( $this );

	class Parte_lst extends Lst
	{
	function Parte_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function setLevel()
		{
			$this->aShowColumns = array_keys ( $this->aColumns );
			if ( array_key_exists( 'ncComputadora' , $this->aFields )  ) unset($this->aShowColumns[array_search( 'Computadora',$this->aShowColumns)]);
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'Parte_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			$this->setTitle ( "Partes" );
			$this->setSummary( "Esta tabla contiene las Partes" );
			$this->addColumn ( 'Computadora', 'cdComputadora' );
			$this->addColumnAction ( 'Serie', VER_PARTE, 'ncParte', 'cdParte' );
			$this->addColumn ( 'Modelo' );
			$this->addColumn ( 'Detalle' );
		}
	function makeColumn ( $aRow, $cField )
		{
			switch( $cField )
			{
				case 'Modelo':
					$cReturn = $aRow['cdMarca'] . ' ' . $aRow['cdModelo'] ;
					break;
				case 'Detalle':
					$cReturn = $aRow['nqTamano'] . ' ' . $aRow['nqEspacio']. ' ' . $aRow['nqVelocidad'] ;
					break;
				default:
					return false;
				break;
			}
			return $cReturn;
		}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT Par.ncParte, Par.cdParte, cdEstadoParte, cdMarca, cdModelo, Par.nqVelocidad, Par.nqEspacio, Par.nqTamano, cdComputadora
							FROM atParte as Par
							LEFT JOIN atComputadora as Com
								ON Com.ncComputadora = Par.ncComputadora
							LEFT JOIN atModelo AS Mo
								ON Mo.ncModelo = Par.ncModelo
							LEFT JOIN atMarca AS Mar
								ON Mo.ncMarca = Mar.ncMarca
							LEFT JOIN acEstadoParte AS EPa
								ON EPa.ncEstadoParte = Par.ncEstadoParte";
			// Arma el Filtro de la Consulta
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray() , 'Par' );
				return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$this->oModule->setBack();
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_PARTE , $cParametroRegistro, 'I', VENTANA_SECUNDARIA);
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncParte=" . $aRow["ncParte"];
			$this->addRowAction ( MODIFICAR_PARTE, $cParametroRegistro, '', VENTANA_SECUNDARIA );
			$this->addRowAction ( ELIMINAR_PARTE, $cParametroRegistro);
		}
	}
?>
